﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;

namespace QuanLyCongDan.GUI
{
    public partial class frmChinhsuaConDan : DevExpress.XtraEditors.XtraForm
    {
        public frmChinhsuaConDan()
        {
            InitializeComponent();
            btnCancel.Enabled = false;
            btnDelete.Enabled = false;
            btnUpdate.Enabled = false;
        }

        private void txtMaCD_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
                e.Handled = true;
        }

        private void btnGetInfo_Click(object sender, EventArgs e)
        {
            if (txtMaCD.Text == "")
            {
                MessageBox.Show("Xin nhập vào Mã Công dân");
                return;
            }

            DTO.DTO_CongDan CD = DAL.DAL_CongDan.GetCongDan(Convert.ToInt32(txtMaCD.Text));
            if (CD == null)
            {
                MessageBox.Show("Không tìm thấy Công Dân");
                return;
            }

            List<DTO.DTO_DonVi> listDV = DAL.DAL_DonVi.GetListDonVi();
            cbbDonVi.DataSource = listDV;
            cbbDonVi.DisplayMember = "TenDonVi";

            int indexDV = 0;
            for(int i = 0; i<listDV.Count; i++)
            {
                if(listDV[i].MaDonVi == CD.DonVi)
                {
                    indexDV = i;
                    break;
                }
            }            
            txtTen.Text = CD.Ten;
            dateTimePicker1.Value = new DateTime(CD.NamSinh, 1, 1);
            txtHocVan.Text = CD.HocVan;
            txtDanToc.Text = CD.DanToc;
            txtTonGiao.Text = CD.TonGiao;
            txtThuongTru.Text = CD.ThuongTru;
            txtNgheNghiep.Text = CD.NgheNghiep;
            txtChaMe.Text = CD.HoTenChaMe;
            txtGhiChu.Text = CD.GhiChu;
            cbbDonVi.SelectedIndex = indexDV;

            btnCancel.Enabled = true;
            btnDelete.Enabled = true;
            btnUpdate.Enabled = true;
        }

        private void btnUpdate_Click(object sender, EventArgs e)
        {
            if (txtTen.Text == "")
            {
                MessageBox.Show("Xin nhập vào tên");
                return;
            }

            DTO.DTO_CongDan CD = new QuanLyCongDan.DTO.DTO_CongDan();

            CD.Ten = txtTen.Text;
            CD.NamSinh = dateTimePicker1.Value.Year;
            CD.HocVan = txtHocVan.Text;
            CD.DanToc = txtDanToc.Text;
            CD.TonGiao = txtTonGiao.Text;
            CD.ThuongTru = txtThuongTru.Text;
            CD.NgheNghiep = txtNgheNghiep.Text;
            CD.HoTenChaMe = txtChaMe.Text;
            CD.DonVi = ((DTO.DTO_DonVi)cbbDonVi.SelectedItem).MaDonVi;
            CD.GhiChu = txtGhiChu.Text;

            if (!DAL.DAL_CongDan.UpdateCongDan(CD))
            {
                MessageBox.Show("Cập nhật công dân có lỗi");
                return;
            }
            else
            {
                MessageBox.Show("Cập nhật công dân thành công");
                this.Close();
            }
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnDelete_Click(object sender, EventArgs e)
        {
            

            if (!DAL.DAL_CongDan.UpdateCongDan(DAL.DAL_CongDan.GetCongDan(Convert.ToInt32(txtMaCD.Text))))
            {
                MessageBox.Show("Xóa công dân có lỗi");
                return;
            }
            else
            {
                MessageBox.Show("Xóa công dân thành công");
                this.Close();
            }
            //DAL.DAL_CongDan.DeleteCongDan
        }
    }
}